home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tools / jade / src / changelog < prev    next >
Text File  |  1995-03-09  |  46KB  |  1,315 lines

  1. Fri Oct  7 15:12:19 1994  John Harper  (jsh@orcrist)
  2.  
  3.     * Version 3.2 released
  4.  
  5. Tue Oct  4 00:06:10 1994  John Harper  (jsh@orcrist)
  6.  
  7.     * lisp.h, symbols.c, values.c: new type V_Void. Used to denote
  8.     a void value in a symbol.
  9.     
  10.     * symbols.c (cmd_symbol_value, cmd_symbol_function,
  11.     cmd_default_value): these now take an extra argument `NO-ERROR'.
  12.     Unless this is t, when the value is void they signal an error.
  13.  
  14.     * symbols.c: rewrote buffer-local variables to be compatible
  15.      with Emacs. Removed `set-buffer-variable' and
  16.     `buffer-variable-p', renamed `delete-buffer-variables' to
  17.     `kill-all-local-variables' and created the new functions,
  18.     `make-local-variable', `make-variable-buffer-local' and
  19.     `kill-local-variable'.
  20.     (cmd_set): SF_BUFFER_LOCAL only means that a variable may
  21.     have a local value; not that one should be created (see next
  22.     entry)
  23.  
  24.     * lisp.h (SF_SET_BUFFER_LOCAL): new flag, means that setting
  25.     this symbol gives it a buffer-local binding
  26.  
  27. Mon Oct  3 17:53:07 1994  John Harper  (jsh@orcrist)
  28.  
  29.     * io.c (read_tx): no longer scans for code section
  30.     * buffers.c (eval_file_code): removed
  31.     * editrect.c (col_copy_sect): removed
  32.  
  33.     * housekeeping.c (set-start-line): this was doing it's own
  34.     rendering; a bad thing all in all
  35.  
  36.     * Most module's _kill function didn't set that module's private
  37.     chain of objects to NULL. In particular the Amiga menus were
  38.     stepping through the de-allocated view_chain and guruing...
  39.  
  40. Sat Oct  1 14:48:49 1994  John Harper  (jsh@orcrist)
  41.  
  42.     * amiga_keys.c (lookup_event_name): doesn't pass any qualifiers
  43.     to MapRawKey() anymore
  44.  
  45.     * commands.c (cmd_call_command): the `N' code-letter was screwed
  46.  
  47.     * main.c, x11_display.c, amiga_display.c: startup modified so
  48.     that the sys_init() function calls a new function inner_main()
  49.     which does most of what main() used to do. This allows the Amiga
  50.     version of sys_init() to play with the stack
  51.  
  52.     * amiga_display.c (sys_init): now contains code to allocate a
  53.     larger stack if the `-stack' argument is given.
  54.  
  55.     * unix_processes.c (run_process): when using pipes stderr is also
  56.     connected up
  57.  
  58. Thu Sep 29 15:33:23 1994  John Harper  (jsh@orcrist)
  59.  
  60.     * unix_processes.c (cmd_signal_process, cmd_interrupt_process,
  61.     cmd_kill_process, cmd_stop_process, cmd_continue_process): All
  62.     have a new argument, SIGNAL-GROUP, which makes them signal the
  63.     whole process group.
  64.  
  65. Mon Sep 26 21:13:32 1994  John Harper  (jsh@orcrist)
  66.  
  67.     * unix_processes.c (cmd_make_process): default value of the
  68.     connection-type component is now `pipe'
  69.  
  70. Tue Sep 20 14:22:22 1994  John Harper  (jsh@orcrist)
  71.  
  72.     * refresh.c (refresh_world_curs): no longer makes an ill-judged
  73.     guess as to whether a window should be refreshed or not; sometimes
  74.     it got it wrong :-(
  75.  
  76.     * keys.c (var_next_keymap_path): now passes the prefix-arg through
  77.     the chain of multi-key bindings
  78.  
  79.     * x11_keys.c, amiga_keys.c (lookup_event): doesn't look for backslash
  80.     characters anymore, also a `-' character as the first character in
  81.     a token won't terminate the token.
  82.  
  83. Sun Sep 18 15:37:00 1994  John Harper  (jsh@orcrist)
  84.  
  85.     * misc.c (cmd_file_concat): renamed as `file-name-concat'
  86.  
  87. Wed Sep 14 15:08:52 1994  John Harper  (jsh@orcrist)
  88.  
  89.     * misc.c (cmd_path_name, cmd_base_name): renamed as `file-name-
  90.     directory' and `file-name-nondirectory' respectively
  91.  
  92.     * symbols.c (bind_symbol, unbind_symbols): uses the `set-default'
  93.     and `default-value' functions to bind variables
  94.     (cmd_set_default, cmd_default_value): now checks for a V_Var type
  95.     of object
  96.  
  97. Tue Sep 13 15:10:56 1994  John Harper  (jsh@orcrist)
  98.  
  99.     * unix_misc.c, amiga_misc.c (cmd_setenv): new function
  100.  
  101.     * housekeeping.c (resync_y): checks for a blank area at the
  102.     bottom of the display; if one exists it's removed
  103.  
  104. Fri Sep  9 14:59:16 1994  John Harper  (jsh@orcrist)
  105.  
  106.     * render.c (cut_paste_lines): when deleting lines, and the stuff
  107.     which couldn't be blitted is only partly in the buffer, the rest is
  108.     cleared.
  109.     (cut_paste_lines): doesn't check if `srcLine' is greater than
  110.     the last line displayed anymore; this is perfectly valid
  111.  
  112. Tue Sep  6 14:47:48 1994  John Harper  (jsh@orcrist)
  113.  
  114.     * housekeeping.c (resync_y): when the cursor goes totally out
  115.     of the display its put back at the center of the screen.
  116.  
  117.     * unix_server.c, amiga_server.c (cmd_server_open, cmd_server_close):
  118.     these can now be called interactively
  119.  
  120. Sat Sep  3 15:50:18 1994  John Harper  (jsh@orcrist)
  121.  
  122.     * find.c (replaceit): now expands the replacement before deleting
  123.     the original text; a much better idea (i.e. it works)
  124.  
  125. Thu Sep  1 14:17:57 1994  John Harper  (jsh@orcrist)
  126.  
  127.     * commands.c (cmd_interactive): now a special form
  128.  
  129. Wed Aug 31 20:28:06 1994  John Harper  (jsh@orcrist)
  130.  
  131.     * x11_eventloop.c, amiga_eventloop.c: the hook `close-gadget-hook'
  132.     has been renamed to `window-closed-hook'.
  133.  
  134. Tue Aug 30 11:47:17 1994  John Harper  (jsh@orcrist)
  135.  
  136.     * keys.c (cmd_bind_keys, cmd_unbind_keys): the KEY-DESCRIPTION
  137.     may now be an event
  138.  
  139.     * keys.h: redefined the EV_TYPE and EV_MOD defines so that
  140.     most events will fit this field into 8 bits, and hence will
  141.     use the pre-allocated static integers to save memory.
  142.  
  143. Mon Aug 29 12:47:47 1994  John Harper  (jsh@orcrist)
  144.  
  145.     * glyphs.c (cmd_set_glyph): when a glyph-string of "" is
  146.     set the first glyph is set to ' '
  147.     (cmd_glyph_to_char_pos): POS isn't optional anymore
  148.  
  149.     * buffers.c (mark_prin): doesn't add one to the marks line and
  150.     column before printing them anymore. Also resident marks have
  151.     their buffer printed not their name
  152.     (cmd_set_mark): setting the name of the file should work now
  153.  
  154. Tue Aug 23 13:11:34 1994  John Harper  (jsh@orcrist)
  155.  
  156.     * lispcmds.c (cmd_bit_not, cmd_bit_or, cmd_bit_and): renamed
  157.     as `lognot', `logior' and `logand' respectively.
  158.  
  159.     * lispcmds.c (cmd_logxor): new function
  160.     * lispmach.c (OP_LOGXOR_2): new opcode
  161.  
  162. Thu Aug 18 16:20:48 1994  John Harper  (jsh@orcrist)
  163.  
  164.     * streams.c (cmd_make_string_input_stream,
  165.     cmd_make_string_output_stream, cmd_get_output_stream_string,
  166.     cmd_streamp): new functions
  167.     (cmd_file_p): renamed as `filep'
  168.  
  169. Wed Aug 17 14:30:17 1994  John Harper  (jsh@orcrist)
  170.  
  171.     * lispcmds.c (cmd_defvar, cmd_defconst): the default value of
  172.     buffer-local variables is set, not the local value
  173.     (cmd_list): now conses up a *new* list, doesn't use its arg list;
  174.     this could be risky
  175.     (cmd_apply): now signals an error if its last argument is not
  176.     a list
  177.  
  178. Tue Aug 16 19:32:02 1994  John Harper  (jsh@orcrist)
  179.  
  180.     * symbols.c (cmd_default_boundp, cmd_set_default): new functions
  181.  
  182. Sun Aug 14 19:45:52 1994  John Harper  (jsh@orcrist)
  183.  
  184.     * symbols.c: obarrays no longer use NULL to terminate a bucket: any
  185.     non-symbol object can be used instead. This means that having a
  186.     NULL sym_Next can signify that a symbol is not interned, making
  187.     the SF_INTERNED flag obsolete -- it's been removed.
  188.  
  189.     * symbols.c (var_obarray): new variable -- provides access
  190.     to the default obarray
  191.  
  192. Sat Aug 13 12:40:00 1994  John Harper  (jsh@orcrist)
  193.  
  194.     * glyphs.c (cmd_glyph_table_p): new function
  195.  
  196.     * lispcmds.c (cmd_reverse): this was totally screwed
  197.     (cmd_aref, cmd_aset): changed documentation
  198.     (cmd_arrayp, cmd_elt): new functions
  199.  
  200.     * editcmds.c (cmd_alpha_char_p, cmd_upper_case_p, cmd_lower_case_p,
  201.     cmd_digit_char_p, cmd_alphanumericp, cmd_space_char_p): these now
  202.     accept non-integer arguments -- they just return nil for them.
  203.  
  204. Fri Aug 12 14:09:06 1994  John Harper  (jsh@orcrist)
  205.  
  206.     * x11_display.c (x11_text_cursor): cursor to use in all windows
  207.     * x11_windows.c (sys_new_window): sets the window's cursor
  208.  
  209. Thu Aug 11 20:13:10 1994  John Harper  (jsh@orcrist)
  210.  
  211.     * lispcmds.c (cmd_mod): this was actually a remainder function
  212.     not modulo; it's renamed to `%'
  213.     (cmd_lsh): this was actually an arithmetic shift, new function
  214.     `ash' to do this and lsh is fixed
  215.     (cmd_integerp): new function
  216.  
  217. Sun Jul 17 13:46:40 1994  John Harper  (jsh@orcrist)
  218.  
  219.     * movement.c (cmd_next_char, cmd_goto_next_char, cmd_prev_char,
  220.     cmd_goto_prev_char): now take a COUNT argument: the number
  221.     of characters to move. The new args to next-char and prev-char
  222.     are incompatible with the old ones :-(
  223.  
  224. Fri Jul 15 15:01:20 1994  John Harper  (jsh@orcrist)
  225.  
  226.     * lisp.c (lisp_init): int_cell is now (user-interrupt)
  227.     not (error user-interrupt). This means that interrupts are no
  228.     longer errors and therefore are unable to be caught by error-pro.
  229.     * x11_eventloop.c, amiga_eventloop.c (event_loop): checks for
  230.     explicitly for user-interrupt
  231.  
  232. Thu Jul 14 15:54:10 1994  John Harper  (jsh@orcrist)
  233.  
  234.     * unix_server.c (server_accept_connection): the connection fd is
  235.     marked to be discarded on exec()
  236.     (server_kill): closes the open connections now
  237.  
  238. Wed Jul 13 18:20:03 1994  John Harper  (jsh@orcrist)
  239.  
  240.     * lispcmds.c (cmd_eql): new function
  241.     * lispmach.c (cmd_lisp_code2): added OP_EQL
  242.  
  243. Tue Jul 12 13:05:08 1994  John Harper  (jsh@orcrist)
  244.  
  245.     * amiga_menus.c (cmd_set_menu): the action of the menu is a command
  246.     not a list of forms
  247.  
  248.     * undo.c (undo_trim): when an undo is in progress tries to
  249.     truncate the oldest of the three undo-lists
  250.  
  251.     * lispmach.c (CALL_1, CALL_2, CALL_3): macros containing the code
  252.     to call a function for an instruction. Lots more opcodes have
  253.     been added.    
  254.  
  255. Mon Jul 11 11:53:56 1994  John Harper  (jsh@orcrist)
  256.  
  257.     * edit.c (pad_pos): now adds the insertion to the buffer's undo-list
  258.  
  259.     * undo.c: doesn't use prefix counts to group items anymore. Instead
  260.     a marker (`nil') is placed between each group. This lets me make
  261.     each command a separate undo-group; also undo through several
  262.     recursive edits works properly.
  263.  
  264.     * commands.c (var_last_command): no longer checks if VAL is nil
  265.  
  266. Sun Jul 10 20:06:15 1994  John Harper  (jsh@orcrist)
  267.  
  268.     * keys.c (print_event_prefix): now prints the whole sequence
  269.     each time.
  270.     (event_buf, event_index): records all events in the current
  271.     sequence.
  272.     (cmd_current_key_string): renamed to `current-event-string'
  273.  
  274. Thu Jul  7 15:05:40 1994  John Harper  (jsh@orcrist)
  275.  
  276.     * commands.c: New file; stuff for interactive function calling
  277.  
  278.     * streams.c (stream_puts, stream_putc): When writing to a string
  279.     an extra byte is allocated to hold the zero terminator
  280.     (cmd_format): writes each chunk of characters between format
  281.     specifiers as one string instead of individually
  282.  
  283. Wed Jul  6 19:32:31 1994  John Harper  (jsh@orcrist)
  284.  
  285.     * streams.c (cmd_format): with a STREAM of nil a string is
  286.     constructed.
  287.  
  288.     * edit.h, symbols.c, windows.c: Window-local Lisp variables are
  289.     no longer supported; they were only used for one variable, the
  290.     `buffer-list'. This variable is now an entry in the VW structure.
  291.  
  292.     * lispcmds.c (cmd_aset): doesn't modify V_StaticString's
  293.  
  294.     * editcommands.c (cmd_translate_string): checks for read-only
  295.     strings
  296.  
  297.     * lisp.h (STRING_WRITEABLE_P): macro to check if a Lisp string
  298.     may be modified.
  299.  
  300. Sun Jul  3 15:08:17 1994  John Harper  (jsh@orcrist)
  301.  
  302.     * lispcmds.c (cmd_defconst): an error is signalled if the symbol
  303.     is already bound.
  304.  
  305.     * refresh.c (refresh_window): when a deletion is recognised the line
  306.     it occurs is *always* redrawn from the first char deleted.
  307.  
  308.     * misc.c (cmd_expand_file_name): new arg, QUALIFY-FULLY. When t
  309.     this says to get an absolute name.
  310.     * amiga_misc.c, unix_misc.c (sys_fully_qualify_file_name): new
  311.     function for the above Lisp function.
  312.  
  313.     * movement.c: (cmd_file_start, cmd_file_end, cmd_goto_file_start,
  314.     cmd_goto_file_end): renamed, ``file'' replaced by ``buffer''
  315.  
  316.     * buffers.c (cmd_file_length): now called `buffer-length'
  317.     (cmd_file_name): now called `buffer-file-name'
  318.     (cmd_set_file_name): now called `set-buffer-file-name'
  319.  
  320. Fri Jul  1 10:51:45 1994  John Harper  (jsh@orcrist)
  321.  
  322.     * refresh.c (flag_deletion): tx_ModEnd is set to the start of the
  323.     deletion not the end
  324.     (refresh_window): when (tx_ModDelta < 0) (i.e. a deletion) the
  325.     cut & paste operation is a bit different now (hopefully this way
  326.     works!?)
  327.  
  328.     * render.c (redraw_region): returns immediately when (START == END)
  329.  
  330.     * editcommands.c (sym_inhibit_read_only): new variable
  331.     * edit.c (read_only): takes note of `inhibit-read-only' when it's
  332.     bound and non-nil.
  333.  
  334. Wed Jun 29 16:48:46 1994  John Harper  (jsh@orcrist)
  335.  
  336.     * Major alterations to all files; I've tried to impose
  337.     a sensible naming style onto all symbols. All global
  338.     symbols have a prefix. This is either null for files
  339.     common to all configurations, `x11_' for stuff accessed
  340.     only by the X files, likewise for `unix_' and `ami_'.
  341.     The `sys_' prefix is for things which are accessed from
  342.     the common area but exists in one of the non-common
  343.     files.
  344.  
  345. Tue Jun 28 14:42:30 1994  John Harper  (jsh@orcrist)
  346.  
  347.     * amiga_windows.c (newwindow): calculates for the status line
  348.     when opening the window
  349.  
  350.     * amiga_display.c (initwinsys): uses onbreak() to hijack
  351.     ^C signals caught by stdio
  352.     * configs/config.h.amiga (HAVE_ONBREAK): new macro for above
  353.  
  354. Sun Jun 26 16:26:43 1994  John Harper  (jsh@orcrist)
  355.  
  356.     * x11_windowsys.h, amiga_windowsys.h (DRAW_LINE): new macro,
  357.     draws a 1-pixel wide line
  358.     * render.c, x11_render.c, amiga_render.c, x11_windows.c,
  359.     amiga_windows.c: all stuff to do with the status/message line
  360.     is made system-independant. This means that messages on the
  361.     Amiga now use the bottom line of the window as in X
  362.  
  363.     * amiga_eventloop.c (eventloop): in idle timeout calls
  364.     print_event_prefix() and also refreshes the display if
  365.     necessary.
  366.  
  367.     * amiga_keys.c (lookup_event_name): uses MapRawKey() to
  368.     decipher unknown keycodes.
  369.  
  370.     * amiga_eventloop.c (eventloop): calls undo_distinct() when
  371.     the current window changes
  372.  
  373.     * amiga_defs.h (TEST_INT): tests for SIGBREAKF_CTRL_C and calls
  374.     amiga_interrupt_handler()
  375.     * amiga_display.c (amiga_interrupt_handler): new function, resets
  376.     the ^C signal bit and throws an interrupt
  377.     (JadeProc): pointer to our process
  378.  
  379. Thu Jun 23 19:57:13 1994  John Harper  (jsh@orcrist)
  380.  
  381.     * keys.c (KEYTAB_HASH_FUN): macro defining how to make a hash
  382.     key from an event. Now key-tables are 127 entries long not 128.    
  383.  
  384.     * keys.c: meta-sends-esc is reversed to become esc-means-meta, now
  385.     there is no separate map for meta/esc keys
  386.  
  387. Wed Jun 22 16:38:52 1994  John Harper  (jsh@orcrist)
  388.  
  389.     * unix_processes.c (proc_notification): now blocks sigchld
  390.  
  391.     * keys.c (usekey): unbound insertions now set the last-command
  392.     variable to t.
  393.  
  394.     * undo.c: now records when a buffer changes from un-modified
  395.     to modified so this too can be undone.
  396.  
  397. Mon Jun 20 22:23:46 1994  John Harper  (jsh@orcrist)
  398.  
  399.     * undo.c: new file, undo recording and undo-ing
  400.     * Wherever flag*tion() is called undo_record_*tion() is also
  401.     called.
  402.     * x11_eventloop.c (eventloop): calls undo_distinct() when the
  403.     current window changes
  404.  
  405.     * editcommands.c (cmd_insert): now returns the position of the
  406.     end of the insertion
  407.  
  408. Sat Jun 18 11:54:50 1994  John Harper  (jsh@orcrist)
  409.  
  410.     * lisp.c (read_str): an escaped newline is now ignored
  411.     (read_symbol): checks that its static buffer doesn't overflow
  412.  
  413.     * x11_windows.c (unsleep): this may work now?
  414.     (sleepwin, unsleep): now use the VWFF_SLEEPING flag
  415.     * x11_eventloop.c (handleevent): if we get an Expose event while
  416.     sleeping assume that we woke up. Also if the VWFF_FORCE_REFRESH
  417.     flag is set we discard all Expose events, when one has a count of
  418.     zero (the last) do a total redraw of the window
  419.  
  420. Thu Jun 16 20:18:58 1994  John Harper  (jsh@orcrist)
  421.  
  422.     * refresh.c (refreshwindow): sets vw_LastDisplayOrigin here after
  423.     completing refresh
  424.     * housekeeping.c (resyncxy): no longer sets vw_LastDisplayOrigin
  425.  
  426.     * movement.c (cmd_centre_display): new function
  427.  
  428. Wed Jun 15 16:06:13 1994  John Harper  (jsh@orcrist)
  429.  
  430.     * lispcmds.c (cmd_concat): no longer stomps on memory when the
  431.     string grows very quickly :-)
  432.  
  433.     * streams.c (cmd_write): optional LENGTH arg for strings
  434.  
  435.     * symbols.c (cmd_delete_buffer_variables): new function
  436.  
  437. Tue Jun 14 10:54:03 1994  John Harper  (jsh@orcrist)
  438.  
  439.     * windows.c (stdtitle): now calls calc_cursor_offset()
  440.  
  441.     * find.c (cmd_match_start, cmd_match_end): new functions; these
  442.     replace the variables `find-last-start-pos' and `find-last-end-pos'.
  443.     Now the position of any expression can be found and in strings
  444.     as well as in buffers.
  445.  
  446.     * editcommands.c (cmd_offset_to_pos, cmd_pos_to_offset): new
  447.     functions for converting between byte counts and positions
  448.  
  449.     * unix_processes.c (struct Proc): pr_UsePty changed to pr_ConnType
  450.     (runproc): option to set the ECHO flag in a pty
  451.     (cmd_set_process_connection_type): now uses named symbols
  452.  
  453. Mon Jun 13 00:44:26 1994  John Harper  (jsh@orcrist)
  454.  
  455.     * unix_processes.c (runproc): now connects stdin of the child to
  456.     a defined file when running synchronously.
  457.     (cmd_run_process): new arg IN-FILE to make use of the above feature
  458.     (runproc, readfromproc): don't write to pr_OutputStream if it's nil
  459.  
  460. Sun Jun 12 02:05:10 1994  John Harper  (jsh@orcrist)
  461.  
  462.     * unix_processes.c (struct Proc): pr_File becomes pr_Prog, pr_Argv
  463.     becomes pr_Args and is now a list of arguments 1..N. Arg #0 is
  464.     taken from pr_Prog
  465.     (cmd_start_process, cmd_run_process): new arg spec. ARGS are now
  466.     passed as the last N args in the call. Also the PROCESS arg
  467.     is optional, a vanilla process will be created if necessary
  468.     (cmd_process_name, cmd_set_process_name): renamed to process-prog
  469.     and set-process-prog
  470.     (cmd_process_argv, cmd_set_process_argv): renamed argv to args and
  471.     takes a list instead of a vector
  472.  
  473.     * lispcmds.c (cmd_copy_list, cmd_copy_string): combined into
  474.     cmd_copy_sequence().
  475.     (cmd_sequencep): new function
  476.  
  477. Sat Jun 11 19:21:00 1994  John Harper  (jsh@orcrist)
  478.  
  479.     * x11_eventloop.c (eventloop): some reorganisations
  480.  
  481.     * lisp.c (handleerror): now handles cursor and reresh itself
  482.  
  483.     * windows.c (cmd_title): renamed as `message', also a new arg
  484.     saying draw it immediately
  485.     (cmd_title_now): removed
  486.     (var_status_line_cursor): variable controlling VWFF_STATUS_CURS
  487.  
  488.     * render.c (cursor): Takes note of VWFF_STATUS_CURS (but only
  489.     in X11 so far)
  490.  
  491.     * edit.h (VW): vw_Sleeping and vw_NonStdTitle now in vw_Flags.
  492.     New flag VWFF_STATUS_CURS means draw the cursor in the status
  493.     line.
  494.  
  495.     * keys.c (usekey, print_event_prefix): a second after a prefix
  496.     key is received the current prefix is displayed
  497.  
  498. Fri Jun 10 19:24:36 1994  John Harper  (jsh@orcrist)
  499.  
  500.     * streams.c (cmd_format): added octal formatting (`%o')
  501.     (cmd_format): `%%' doesn't swallow an argument anymore
  502.  
  503.     * keys.c (usekey): the `unbound-key-hook' is now called for all
  504.     unbound events -- not just keyboard events
  505.  
  506.     * amiga_keys.c: updated after yesterday's changes, not finished
  507.     yet I can't remember the name of a function I need to use :-(
  508.  
  509. Thu Jun  9 11:32:49 1994  John Harper  (jsh@orcrist)
  510.  
  511.     * keys.c, keys.h: massive changes; all key/event structures are
  512.     now standard Lisp types (vector & cons cells). Some new functions
  513.     for manipulating events and their bindings.
  514.     * x11_keys.c (lookup_event_name): new function
  515.  
  516. Wed Jun  8 20:04:27 1994  John Harper  (jsh@orcrist)
  517.  
  518.     * keys.c (sym_idle_hook): new hook, called periodically when idle
  519.     time is available
  520.     * amiga_eventloop.c, x11_eventloop.c (eventloop): calls idle-hook
  521.  
  522.     * values.c (cmd_garbage_collect): no longer prints a message
  523.     while gc is in progress
  524.  
  525. Tue Jun  7 00:24:30 1994  John Harper  (jsh@orcrist)
  526.  
  527.     * edit.c (cmd_set_indent_pos): didn't rebuild line if it already
  528.     had the correct number of indentation characters
  529.  
  530.     * unix_processes.c (queue_notify, proc_notification): The callback
  531.     function for a process isn't called directly anymore, this is too
  532.     risky.
  533.     (cmd_make_process, runproc, cmd_fork_process, cmd_run_process): now
  534.     more arguments can be passed to set the state of the process object.
  535.     (cmd_process_connection_type, cmd_set_process_connection_type):
  536.     support for using pipes *or* ptys when connecting to a process
  537.     (cmd_fork_process): renamed as `start-process'
  538.  
  539. Mon Jun  6 20:23:55 1994  John Harper  (jsh@orcrist)
  540.  
  541.     * unix_misc.c (cmd_copy_file): oops, didn't open the destination
  542.     file with O_TRUNC :-(
  543.  
  544.     * misc.c (cmd_substr): renamed as `substring' and significantly
  545.     changed.
  546.  
  547.     * find.c (cmd_regexp_quote): new function
  548.  
  549. Sun Jun  5 22:58:43 1994  John Harper  (jsh@orcrist)
  550.  
  551.     * lisp.c, lispcmds.c, lispmach.c, lisp.h, x11_eventloop.c,
  552.     amiga_eventloop.c: Interrupt support -- now you can break those
  553.     annoying infinite loops :)
  554.     * x11_display.c (x11_int_handler): handler for SIGINT
  555.  
  556. Sat Jun  4 14:08:48 1994  John Harper  (jsh@orcrist)
  557.  
  558.     * keys.c (var_this_command, var_last_command): new functions
  559.  
  560. Thu Jun  2 12:29:11 1994  John Harper  (jsh@orcrist)
  561.  
  562.     * Version 3.1 released
  563.  
  564. Wed Jun  1 21:02:03 1994  John Harper  (jsh@orcrist)
  565.  
  566.     * x11_windows.c (makemousepos): didn't check that the returned value
  567.     was legal
  568.  
  569. Mon May 30 16:48:21 1994  John Harper  (jsh@deep)
  570.  
  571.     * windows.c (stdtitle): changed the format string
  572.  
  573.     * amiga_misc.c (cmd_file_req): sets the length of the returned string
  574.     to its correct value
  575.  
  576.     * render.c (cutpastelines): doesn't assume that the window contains
  577.     an integral number of lines -- screen debris was left between the
  578.     end of the last line and the bottom of the window
  579.  
  580.     * misc.c (memchr): in case the C library doesn't provide memchr(),
  581.     one of mine doesn't :(
  582.  
  583.     * configs/: new option in all config files `HAVE_MEMCHR'
  584.  
  585.     * amiga_menus.c (setallmenus, clearallmenus): Didn't ignore window
  586.     objects which don't have a physical window open, this was causing
  587.     Enforcer hits
  588.     
  589. Wed May 25 19:16:11 1994  John Harper  (jsh@orcrist)
  590.  
  591.     * find.c (findprev): kludged the index manipulation
  592.  
  593.     * movement.c (findmatchingbracket): new argument ESC plus code
  594.     to check for escape chars
  595.     (cmd_match_brackets): new arg ESC, for the above modification
  596.  
  597. Tue May 24 16:06:14 1994  John Harper  (jsh@orcrist)
  598.  
  599.     * movement.c (cmd_screen_bottom_line, cmd_screen_last_column):
  600.     returned 1 to big
  601.  
  602.     * editcommands.c (get-char): didn't return newlines
  603.  
  604.     * lispmach.c (cmd_lisp_code2): renamed the conditional jumps
  605.  
  606.     * render.c (redraw_line_from, redraw_region): these now notice if
  607.     they're told to start drawing before the first visible column
  608.  
  609.     * lispmach.c (cmd_lisp_code2): wasn't setting ThrowValue to NULL
  610.     while evaluating unwind-protect forms
  611.  
  612.     * symbols.c (cmd_setq_default, cmd_default_value): new functions
  613.     for accessing the default value of symbols
  614.  
  615.     * Makefile.in: no longer uses CFLAGS to pass the JADE_DIR define
  616.  
  617. Mon May 23 02:07:53 1994  John Harper  (jsh@orcrist)
  618.  
  619.     * Changed the origin of a buffer's coordinates to (0,0) not (1,1),
  620.     what will this break??
  621.  
  622.     * glyphs.c (expand_tabs): didn't like START-GLYPH==0
  623.  
  624.     * editcommands.c (cmd_set_indent_pos, cmd_indent_to): options
  625.     to only insert spaces, not tabs
  626.  
  627.     * movement.c: fixed the `tab' functions to work with glyph
  628.     positions
  629.  
  630.     * stringmem.c (sm_free): when a (non-malloc'd) string is freed
  631.     increment DataAfterGC by its size
  632.  
  633. Sun May 22 23:13:10 1994  John Harper  (jsh@orcrist)
  634.  
  635.     * values.c (cmd_garbage_collect): calls sm_flush() on the MainStrMem
  636.     block.
  637.  
  638.     * buffers.c (cmd_destroy_buffer): doesn't bother calling sm_flush()
  639.     anymore
  640.  
  641. Sat May 21 20:59:11 1994  John Harper  (jsh@orcrist)
  642.  
  643.     * refresh.c (refreshworldcurs): doesn't try to setvwtitle()
  644.     closed windows anymore
  645.  
  646. Fri May 20 21:52:37 1994  John Harper  (jsh@orcrist)
  647.  
  648.     * configs: added HAVE_SETPGID and HAVE_SETPGRP options
  649.     * unix_processes.c: takes note of the above macros
  650.  
  651. Thu May 19 21:02:06 1994  John Harper  (jsh@orcrist)
  652.  
  653.     * unix_client.c, amiga_client.c (main): resets the line number for
  654.     each file.
  655.  
  656.     * x11_windows.c (cmd_window_left_edge, cmd_window_top_edge): these
  657.     used to return coordinates relative to our parent window (created
  658.     by the wm) not the root window.
  659.  
  660. Sun May 15 00:30:48 1994  John Harper  (jsh@orcrist)
  661.  
  662.     * lispmach.c: new instruction OP_RETURN
  663.  
  664.     * find.c (replacit, replaceitstr): calls flaginsertion() before
  665.     inserting the string not after (when the pos has been advanced)
  666.  
  667.     * lispcmds.c (cmd_unwind_protect): temporarily sets `ThrowValue' to
  668.     NULL while evaluating the body.
  669.     * lispmach.c (cmd_lisp_code2): similar to the above when unwinding
  670.  
  671. Fri May 13 21:52:40 1994  John Harper  (jsh@orcrist)
  672.  
  673.     * editcommands.c (cmd_set_char): new function
  674.  
  675. Thu May 12 19:24:22 1994  John Harper  (jsh@orcrist)
  676.  
  677.     * lispmach.c: cmd_lisp_code renamed as cmd_lisp_code2 since
  678.     compiled forms are now different.
  679.  
  680.     * lisp.c (string_print): no longer escapes tabs or newlines
  681.  
  682.     * editcommands.c (cmd_translate_string, cmd_get_char): new
  683.     functions.
  684.  
  685. Tue May 10 21:19:29 1994  John Harper  (jsh@orcrist)
  686.  
  687.     * lisp.h, value.h: New definition of the VALUE type, no longer
  688.     is it (void *)
  689.  
  690. Sun May  8 18:42:03 1994  John Harper  (jsh@orcrist)
  691.  
  692.     * editrect.c: New file. Most rectangle code has moved here from
  693.     edit.c and updated to cope with the fact that a character's position 
  694.     in a line may not be the same as its position on the screen. Also 
  695.     lots of TAB handling.
  696.  
  697.     * keys.c (evalbinding): if the symbol `meta-sends-esc' is non-nil
  698.     any meta-modified events get translated into ESC then the
  699.     un-meta'd event.
  700.  
  701. Sat May  7 13:53:59 1994  John Harper  (jsh@orcrist)
  702.  
  703.     * glyphs.c: each buffer can now have its own glyph-table. A new
  704.     data type for glyph-tables has been created. New functions to
  705.     manipulate these.
  706.  
  707. Fri May  6 20:31:33 1994  John Harper  (jsh@orcrist)
  708.  
  709.     * editcommands.c (cmd_indent_to): new function
  710.  
  711.     * edit.c: changes uses of strcpy() and family to memcpy() so
  712.     nul bytes don't cause havoc.
  713.  
  714. Thu May  5 17:08:23 1994  John Harper  (jsh@orcrist)
  715.  
  716.     * unix_processes.c (writetoproc): new arg BUFLEN
  717.  
  718.     * streams.c (stream_puts): new arg BUFLEN, the length of the
  719.     string being written
  720.     (stream_read_esc): now understands octal escapes of less than 3
  721.     chars and hex escapes
  722.  
  723.     * lisp.h: strings allocated (as opposed to being string-constants)
  724.     now contain a length field. This will allow these strings to
  725.     contain '\000' characters. The macro STRING_LEN gives the number
  726.     of characters in any type of Lisp string.
  727.  
  728.     * values.c: accommodate the above changes
  729.  
  730.     * io.c (cmd_write_file): uses fwrite() not fputs
  731.  
  732. Wed May  4 20:28:31 1994  John Harper  (jsh@orcrist)
  733.  
  734.     * edit.c (posinblock): for rectangular blocks uses glyph coords
  735.  
  736.     * housekeeping.c: the block marks are only updated in the y direction
  737.         if rectangular blocks are being marked.
  738.  
  739.     * render.c (draw_bit): END arg is now inclusive
  740.  
  741.     * amiga_misc.c, unix_misc.c (fileexists): now returns bool
  742.  
  743. Tue May  3 08:30:52 1994  John Harper  (jsh@orcrist)
  744.  
  745.     * buffers.c (var_disk_tab, var_save_tabs): removed
  746.     (var_screen_tab): renamed as var_tab_size
  747.  
  748.     * edit.h (struct _TX): removed tx_DiskTab and tx_SaveTabs :)
  749.  
  750.     * movement.c (cmd_next_tab, cmd_goto_next_tab, cmd_prev_tab,
  751.     cmd_goto_prev_tab): new arg TAB-SIZE. Also the goto variants
  752.     convert glyph-pos to char-pos. The other return the *glyph* pos.
  753.  
  754.     * find.c (strrchrn, strrstrn): renamed as mystrrchrn() and
  755.     mystrrstrn() incase they clash with anyone's C library
  756.  
  757.     * misc.c (stpblk, stpalnum, cpyalnum): deleted, they were
  758.     not used anymore
  759.  
  760.     * find.c (mystricmp): args toupper() and tolower() had side
  761.     effects! Deleted this function since it's not used anymore
  762.     anyway
  763.  
  764.     * housekeeping.c: #undef's no longer state the macro's args,
  765.     I'm told this is illegal
  766.  
  767.     * movement.c (cmd_goto): renamed as cmd_goto_char
  768.     (cmd_goto_glyph): new function
  769.  
  770.     * editcommands.c (cmd_indent_pos, cmd_set_indent_pos): hacked
  771.     to allow `proper' TABs
  772.  
  773.     * edit.c (insertstring): no longer has to expand TAB chars.
  774.  
  775.     * io.c (readtx): rewritten, no longer has to expand TAB chars,
  776.     should make it a lot faster?
  777.     (writeline): not needed anymore
  778.  
  779.     * render.c: many changes to cope with the `glyphs' code, now
  780.     there are two types of column position, the `character' one
  781.     which is the number of characters from the start of the line, and
  782.     the `glyph' pos, the number of glyphs from the start of the
  783.     line.
  784.  
  785.     * glyphs.c: new file, manages mappings between characters and
  786.     their printed representations. Includes new Lisp functions,
  787.     `glyph-to-char-pos', `char-to-glyph-pos', `set-glyph' and
  788.     `get-glyph'.
  789.  
  790. Mon May     2 10:13:12 1994  John Harper  (jsh@orcrist)
  791.  
  792.     * windows.c (stdtitle): bracketing around mode names now shows
  793.     if in a recursive-edit
  794.  
  795.     * values.c (cmd_dup_pos): renamed as cmd_copy_pos
  796.  
  797.     * streams.c (streamputc, streamputs): strings now have a number
  798.     associated with them, their *actual* size.
  799.  
  800.     * lispcmds.c (cmd_rassoc, cmd_rassq): new functions
  801.     (cmd_copy_string): new function
  802.  
  803. Sun May     1 23:36:00 1994  John Harper  (jsh@orcrist)
  804.  
  805.     * lisp.c: Optimised some of the read functions, got rid of the
  806.     nextlispexp() function.
  807.  
  808. Sat Apr 30 10:44:56 1994  John Harper  (jsh@orcrist)
  809.  
  810.     * symbols.c (symbols_init): nil and t are now constants
  811.  
  812.     * windows.c (cmd_make_window): only calls updatescroller() if
  813.     tx is non-NULL, should fix the other Enforcer hit?
  814.  
  815.     * buffers.c (firstbuffer): now calls updatescroller() *after*
  816.     switching in the first buffer, I think this should kill the
  817.     Enforcer hit at startup?
  818.  
  819.     * refresh.c (refreshworldcurs): updates status line properly
  820.  
  821.     * edit.c (checksect, checkpos, checkline): didn't make sure the
  822.     line number was positive
  823.  
  824.     * unix_client.c: now takes a series of files
  825.  
  826.     * amiga_eventloop.c (eventloop): Wait()'s for ServerSig as well
  827.  
  828.     * amiga_server.c, amiga_client.c: new files (untested, as yet)
  829.  
  830. Fri Apr 29 21:38:03 1994  John Harper  (jsh@orcrist)
  831.  
  832.     * unix_server.c, unix_client.c: new files
  833.  
  834. Thu Apr 28 19:21:43 1994  John Harper  (jsh@orcrist)
  835.  
  836.     * amiga_defs.h, unix_defs.h (DOC_FILE): renamed as DOC
  837.  
  838.     * unix_misc.c (geterrstring): macro HAVE_STRERROR replaces
  839.      ERRNO_STRING, much simpler.
  840.  
  841. Thu Apr 28 14:39:49 1994  J.S.Harper  (jsh@raven.ukc.ac.uk)
  842.  
  843.     * render.c (cutpastelines): fixed one [more] bug
  844.  
  845. Thu Apr 28 01:26:58 1994  John Harper  (jsh@orcrist)
  846.  
  847.     * editcommands.c (cmd_delete_area, cmd_cut_area): these now
  848.     call padpos() on their section markers.
  849.  
  850. Wed Apr 27 19:53:27 1994  John Harper  (jsh@orcrist)
  851.  
  852.     * unix_memory.c, unix_defs.h (myfree, initmem, killmem): these are
  853.     now macros in unix_defs.h
  854.  
  855. Tue Apr 26 22:59:44 1994  John Harper  (jsh@orcrist)
  856.  
  857.     * Makefile.in: new file, cpp source to make src/Makefile. Now only
  858.     one configuration file has to be edited, src/config.h, it's used
  859.     for both Makefile and C configurations.
  860.  
  861. Mon Apr 25 22:14:41 1994  John Harper  (jsh@orcrist)
  862.  
  863.     * keys.c (cmd_current_key_string): new function
  864.  
  865.     * buffers.c (var_minor_mode_names): list of strings which is printed
  866.     in the status line.
  867.     * edit.h (TX): tx_MinorModeNameList and tx_MinorModeNameString
  868.  
  869. Sun Apr 24 13:06:56 1994  John Harper  (jsh@orcrist)
  870.  
  871.     * unix_misc.c (cmd_directory_files): oops. If it couldn't open the
  872.     named dir, it signalled the error with the C-string not the Lisp one.
  873.  
  874.     * misc.c (cmd_expand_file_name): new function
  875.     * unix_misc.c (expand_file_name): does the work of the above function
  876.     * unix_defs.h: #define EXPAND_FILE_NAME expand_file_name
  877.  
  878.     * unix_processes.c (runproc): initialises the pty more carefully
  879.  
  880.     * streams.c (posputc, posputs): uses `tx_DiskTab' for tab size, not
  881.     `tx_TabSize'. What will this break?
  882.  
  883. Sat Apr 23 21:05:34 1994  John Harper  (jsh@orcrist)
  884.  
  885.     * lispcmds.c (cmd_defvar, cmd_defconst): these are now in C
  886.  
  887.     * find.c (cmd_looking_at): used to set `find-last-end-pos' to the
  888.     wrong position, also, the NOCASE_P arg was being ignored.
  889.  
  890. Wed Apr 20 16:02:28 1994  John Harper  (jsh@orcrist)
  891.  
  892.     * Version 3.0 released
  893.  
  894. Tue Apr 19 20:51:28 1994  John Harper  (jsh@deep)
  895.  
  896.     * refresh.c (refreshworldcurs): Checks if buffer has switched
  897.  
  898.     * amiga_minrexx.c (disp_rexx_port): changed the way that results are
  899.     returned. Numbers and Strings are returned via RESULT. `nil'
  900.     means RC=1 (command failed), anything else RC=0 (command succeeded).
  901.  
  902. Mon Apr 18 20:54:42 1994  John Harper  (jsh@orcrist)
  903.  
  904.     * lisp.c (LispDepth, MaxLispDepth, var_max_lisp_depth, _eval, funcall):
  905.     Protection against infinite recursion.
  906.  
  907. Mon Apr 18 11:13:52 1994  John Harper  (jsh@deep)
  908.  
  909.     * prefs.c (copyfileprefs): by default `save-tabs' is 'all
  910.  
  911. Sun Apr 17 19:29:37 1994  John Harper  (jsh@orcrist)
  912.  
  913.     * refresh.c (refreshwindow): simpler way of checking if block has
  914.     already been drawn. Not good, but it may actually work!
  915.  
  916.     * render.c (cursor): checks if cursor is off bottom of window
  917.  
  918.     * x11_commandline.c (docmdline): now redraws the separator line
  919.     on an expose event.
  920.  
  921.     * unix_misc.c, amiga_misc.c (cmd_move_file): renamed to
  922.     `cmd_rename_file'.
  923.  
  924.     * unix_misc.c, amiga_misc.c (cmd_copy_file, cmd_file_nlinks,
  925.     cmd_file_modes, cmd_set_file_modes): New functions
  926.  
  927. Sat Apr 16 14:04:45 1994  John Harper  (jsh@orcrist)
  928.  
  929.     * Added license notices at the beginning of all source files.
  930.  
  931.     * All instances of the string `jed' have been changed to `jade'. I
  932.     decided to change its name since there is at least one other editor
  933.     called jed.
  934.  
  935. Fri Apr 15 14:35:55 1994  John Harper  (jsh@deep)
  936.  
  937.     * amiga_windows.c (newwindow, sleepwin): `DefDims' contains the
  938.     number of rows/columns, not pixels.
  939.  
  940.     * amiga_display.c (initwinsys): Command line arguments `-pubscreen'
  941.     and `-font'
  942.  
  943. Thu Apr 14 20:23:27 1994  John Harper  (jsh@deep)
  944.  
  945.     * values.c (values_kill): Due to a typo blocks of Numbers weren't being
  946.     deallocated, now they are.
  947.  
  948.     * amiga_eventloop.c (eventloop): Fixed idle test. It's not ideal
  949.     -- it uses 10 Intuiticks equal one second. Of course, the main
  950.     loss is that Intuiticks are only sent while one of our windows is
  951.     active :-(
  952.  
  953. Thu Apr 14 11:31:49 1994  John Harper  (jsh@orcrist)
  954.  
  955.     * amiga_menus.c: More or less wholly rewritten. Doesn't take menu
  956.     definitions from a file anymore, but from a list. No support for
  957.     submenus at the moment though.
  958.  
  959.     * buffers.c (makemarksres, makemarksnonres): Don't bother checking
  960.     for a NULL `tx_FileName', this can't happen.
  961.  
  962.     * values.c (markvalue): Marks don't get gc-marked down their
  963.     chain, this was wrong.
  964.     * buffers.c (sweep_mark, unchainmark): To go with the above, marks
  965.     are now unchained from their buffer when swept.
  966.  
  967.     * misc.c (cmd_file_concat): function to stick together
  968.     path-name components.
  969.     * amiga_misc.c, unix_misc.c (addfilepart): for the above function
  970.  
  971. Wed Apr 13 11:31:45 1994  John Harper  (jsh@orcrist)
  972.  
  973.     * symbols.c (bindsymbol, unbindsymbols): Can now bind to V_Var
  974.     objects properly (the function is used to retrieve and set its
  975.     value)
  976.  
  977. Tue Apr 12 14:55:56 1994  John Harper  (jsh@orcrist)
  978.  
  979.     * x11_windowsys.h: CLR_RECT and SET_RECT did one two many columns/rows
  980.  
  981.     * find.c (cmd_looking_at): new function
  982.  
  983. Mon Apr 11 23:17:56 1994  John Harper  (jsh@orcrist)
  984.  
  985.     * symbols.c: `make-*-variable' functions have been changed to
  986.     `set-*-variable'. They don't make anything, just set a flag.
  987.  
  988. Sun Apr 10 19:22:35 1994  John Harper  (jsh@orcrist)
  989.  
  990.     * find.c (strrchrn): Now uses a pointer instead of an array index.
  991.  
  992. Fri Apr     8 20:21:07 1994  John Harper  (jsh@orcrist)
  993.  
  994.     * symbols.c (cmd_symbol_value, symbol_function): Got rid of the
  995.     `void-symbol-function' hook.
  996.  
  997. Tue Apr 05 15:19:47 1994  John Harper  (jsh@deep)
  998.  
  999.     * amiga_windows.c (cmd_font_size): Removed, obsoleted by the
  1000.     `font-y-size' function
  1001.  
  1002.     * windows.c (cmd_font_x_size, cmd_font_y_size): New commands
  1003.  
  1004.     * amiga_misc.c (cmd_full_name): No longer returns NULL when it
  1005.     can't read the ENV: variable `REALNAME'.
  1006.  
  1007.     * amiga_clipboard.c: Errors now reported via signal, not just printed
  1008.     in the status line.
  1009.     (readclip): Used to return a normal string not a VALUE
  1010.  
  1011. Mon Apr     4 12:40:00 1994  John Harper  (jsh@orcrist)
  1012.  
  1013.     * Makefile, DMakefile: Now *all* source files are scanned for
  1014.     doc-strings. This is so that there is only one `DOC-strings' file
  1015.     for any particular revision (not one for each target OS).
  1016.  
  1017. Sun Apr     3 20:57:24 1994  John Harper  (jsh@orcrist)
  1018.  
  1019.     * main.c, x11_eventloop.c, amiga_eventloop.c: Now eventloop() calls
  1020.     refreshworldcurs() when it is entered, this used to be done in
  1021.     cmd_recursive_edit() (but not in main()).
  1022.  
  1023. Thu Mar 31 12:27:21 1994  John Harper  (jsh@orcrist)
  1024.  
  1025.     * Files in the directories `amiga/', `unix/' and `x11/' have been
  1026.     moved into the root source dir with prefixes of `amiga_', `unix_' and
  1027.     `x11_' respectively. This makes compilation a lot easier.
  1028.  
  1029. Tue Mar 29 00:45:13 1994  John Harper  (jsh@orcrist)
  1030.  
  1031.     * render.c: As much as possible of x11/render.c has been moved to
  1032.     here. Uses macros defined in windowsys.h to do as much platform-
  1033.     independant rendering as possible. This turns out to be everything
  1034.     but the prompt line.
  1035.  
  1036.     * refresh.c: Copied most of render.c into this file.
  1037.  
  1038. Fri Mar 25 13:20:11 1994  John Harper  (jsh@orcrist)
  1039.  
  1040.     * x11/eventloop.c: increasing the vertical size of a window no longer
  1041.     leaves the old status line in the middle of the display (if the buffer
  1042.     doesn't overwrite it).
  1043.  
  1044.     * values.c (cons_sweep): wholly unused blocks are now freed
  1045.     (markvalue): attempt to limit recursion as much as possible
  1046.  
  1047. Thu Mar 24 09:51:07 1994  John Harper  (jsh@orcrist)
  1048.  
  1049.     * symbols.c: Got rid of `symbol-flags' function. Now there's none
  1050.     of these annoying `flags' functions left :-)
  1051.  
  1052.     * buffers.c: TXFF_IMMORTAL and TXFF_NOCHANGE are consolidated
  1053.     into TXFF_SPECIAL. New functions `set-buffer-special' and
  1054.     `buffer-special-p'. Got rid of `tx-flags' function.
  1055.     (set-buffer-name, set-file-name): Order of arguments reversed,
  1056.     this is more consistent with all other `set*' functions.
  1057.  
  1058.     * files.c: renamed to buffers.c, this makes more sense now
  1059.  
  1060. Wed Mar 23 12:06:02 1994  John Harper  (jsh@orcrist)
  1061.  
  1062.     * values.c (markvalue): Two new algorithms for marking cons cells
  1063.  
  1064.     * General code cleanup so that it will compile with -Wparentheses.
  1065.  
  1066. Sat Mar 19 03:45:03 1994  John Harper  (jsh@orcrist)
  1067.  
  1068.     * find.c (cmd_find_next_regexp, cmd_find_prev_regexp, cmd_regexp_match,
  1069.     cmd_regexp_match_line): optional arg `IGNORE-CASE-P'
  1070.  
  1071.     * regexp/regexp.h, regexp/regexp.c: new flag to regexec2(),
  1072.     REG_NOCASE, means ignore case when comparing strings (but not
  1073.     for character classes).
  1074.  
  1075.     * io.c: new command `read-file-from-to'
  1076.  
  1077.     * streams.c: new commands `read-line' and `read-file-until'
  1078.  
  1079. Fri Mar 18 01:03:28 1994  John Harper  (jsh@orcrist)
  1080.  
  1081.     * doc/: Directory with manual stuff, new Makefile
  1082.  
  1083.     * find.c: New command `regexp-expand-line' a cross between
  1084.     `regexp-expand' and `regexp-match-line'.
  1085.  
  1086. Thu Mar 17 18:55:54 1994  John Harper  (jsh@orcrist)
  1087.  
  1088.     * jed.h, windows.c: Got rid of obsolete VWFF_NOSAVEPOS flag. Also
  1089.     the var `vw-flags' is gone. Functions `rect-blocks-p' and
  1090.     `set-rect-blocks' are used instead (the other flags are internal).
  1091.  
  1092.     * unix/processes.c: Now uses SA_RESTART if possible and O_NONBLOCK
  1093.     instead of O_NDELAY.
  1094.  
  1095. Tue Mar 15 23:04:34 1994  John Harper  (jsh@orcrist)
  1096.  
  1097.     * jed.texi: New file, at last! I've started the manual
  1098.  
  1099.     * files.c (var_save_tabs): Now uses descriptive symbols for the
  1100.     options, not magic numbers.
  1101.  
  1102. Mon Mar 14 21:21:41 1994  John Harper  (jsh@orcrist)
  1103.  
  1104.     * unix/processes.c: Now uses sigaction() and sigprocmask() instead
  1105.     of signal(). I'm not sure if I've done this correctly, from looking
  1106.     at the kernel sources it seems ok...
  1107.  
  1108. Sat Mar 12 22:25:36 1994  John Harper  (jsh@orcrist)
  1109.  
  1110.     * x11/display.c: Added `-name' option -- sets the name which is
  1111.     primarily used to lookup resources with.
  1112.     * x11/display.c (getxresources): If unable to find a resource with
  1113.     the program name tries with the string "Jed".
  1114.  
  1115. Thu Mar 10 22:08:33 1994  John Harper  (jsh@orcrist)
  1116.  
  1117.     * find.c: (cmd_replace_regexp, cmd_replace_string): Checks if `pos'
  1118.     is out of range (instead of just seg-faulting).
  1119.  
  1120. Mon Mar     7 21:27:25 1994  John Harper  (jsh@orcrist)
  1121.  
  1122.     * lispcmds.c: New symbol `lisp-lib-dir'
  1123.     * lisp.c (cmd_add_doc_string): New command to write a new doc-string
  1124.     to the DOC file and return its index.
  1125.  
  1126. Sun Mar     6 12:49:38 1994  John Harper  (jsh@orcrist)
  1127.  
  1128.     * windows.c (window_prin): Handles dead windows now.
  1129.  
  1130.     * windows.c (cmd_destroy_window): Now does (throw 'quit 0) when no
  1131.     more windows exist.
  1132.     * windows.c, amiga/windows.c: Fixed `NumWindows' variable -- it's
  1133.     now decremented in `cmd_destroy_window'.
  1134.  
  1135. Sat Mar     5 01:21:35 1994  John Harper  (jsh@orcrist)
  1136.  
  1137.     * edit.c: #if 0'd `stuffline'. This is now done inline where functions
  1138.     can take advantage of knowing the length of the line.
  1139.  
  1140.     * editcommands.c (cmd_translate_area): Applies a translation-table
  1141.     (a string) to a region of a buffer. Also, variables `upcase-table' and
  1142.     `downcase-table' are provided. Needs `cmd_translate_rect'.
  1143.  
  1144. Fri Mar     4 18:55:38 1994  John Harper  (jsh@orcrist)
  1145.  
  1146.     * lispcmds.c (cmd_functionp, cmd_special_form_p): Fixed null-ref
  1147.     when a symbol has no function value.
  1148.  
  1149.     * edit.c (rectinsertstring, rectdeletesect): Now calls the `flag*'
  1150.     functions properly. Also fixed bug that inserting past the bottom
  1151.     of the file didn't work properly.
  1152.  
  1153.     * files.c: Changed `cmd_find_file' to `cmd_get_file_buffer' and
  1154.     `cmd_find_buffer' to `cmd_get_buffer'.
  1155.  
  1156. Thu Mar     3 21:36:01 1994  John Harper  (jsh@orcrist)
  1157.  
  1158.     * lispcmds.c (cmd_eval_hook2): Could exit with `GCinhibit' still set.
  1159.  
  1160.     * keys.c (usekey): Now checks for a read-only buffer before inserting
  1161.     a keypress.
  1162.  
  1163. Mon Feb 28 19:34:54 1994  John Harper  (jsh@orcrist)
  1164.  
  1165.     * symbols.c, lisp.h: New flag in Symbol struct: SF_INTERNED.
  1166.     This gets set when a symbol is interned. Lets me protect against
  1167.     interning a symbol twice.
  1168.  
  1169.     * streams.c (cmd_stdin_file, cmd_stdout_file): These didn't
  1170.     actually set the LFF_DONT_CLOSE flag which I had so carefully
  1171.     prepared for them :-(
  1172.  
  1173. Sun Feb 27 20:48:56 1994  John Harper  (jsh@orcrist)
  1174.  
  1175.     * x11/windows.c (activatewin): Actually does something now -- raises
  1176.     the window and warps the mouse to it's top-left corner.
  1177.  
  1178. Tue Feb 22 21:58:18 1994  John Harper  (jsh@orcrist)
  1179.  
  1180.     * x11/render.c (cutpastelines): Doesn't bother if `dstLine' is off
  1181.     bottom of window.
  1182.  
  1183.     * lisp.c, lispcmds.c, lispmach.c, ../lisp/lisp.jl: Got rid of 'lambda
  1184.     throw tag, this won't work as expected in some pieces of compiled
  1185.     code. Replaced by 'defun tag which returns a value from a defun.
  1186.  
  1187. Mon Feb 21 02:05:56 1994  John Harper  (jsh@orcrist)
  1188.  
  1189.     * lispcmds.c (cmd_load): Now takes note of variable `load-path' (list
  1190.     of directory names) and warns if compiled file is older than it's
  1191.     source. Also an option to suppress the error when file doesn't exist.
  1192.  
  1193. Sun Feb 20 21:20:02 1994  John Harper  (jsh@orcrist)
  1194.  
  1195.     * io.c (cmd_write_buffer_area): New command, writes a portion of
  1196.     a buffer to a file.
  1197.  
  1198. Sat Feb 19 00:45:53 1994  John Harper  (jsh@orcrist)
  1199.  
  1200.     * lisp.c, lispmach.c (cmd_backtrace): Now keeps a stack of all
  1201.     living Lisp function calls. This is mainly so it's easy to see
  1202.     where an error occurs.
  1203.  
  1204.     * lisp.c [mainly]: Error signalling written. New subrs, signal,
  1205.     error-protect (similar to emacs' `condition-case') and a var,
  1206.     debug-on-error. New byte-opcodes introduced -- op-signal and
  1207.     op-error-protect.
  1208.  
  1209. Tue Feb 15 20:59:53 1994  John Harper  (jsh@orcrist)
  1210.  
  1211.     * x11/render.c (cutpastelines): Some optimisation of what lines get
  1212.     moved (now leaves trailing blank lines alone).
  1213.  
  1214.     * unix/misc.c (cmd_user_login_name): Tries getlogin() before
  1215.     getpwuid().
  1216.  
  1217. Mon Feb 14 21:32:27 1994  John Harper  (jsh@orcrist)
  1218.  
  1219.     * Changed doc-string handling -- now all subr doc-strings are kept in
  1220.     a separate file. All source files containg `DEFUN's have been
  1221.     changed to accomplish this and a new tool `makedoc' has been written.
  1222.     This only saves about 40K in the binary but since that was about a
  1223.     quarter of the whole size I think it's worth it.
  1224.  
  1225. Sat Feb 12 14:35:05 1994  J.S.Harper  (jsh@falcon.ukc.ac.uk)
  1226.  
  1227.     * find.c (cmd_regexp_match_line): New command, matches a regexp
  1228.     to a line of a buffer.
  1229.  
  1230.     * movement.c (cmd_next_tab, cmd_goto_next_tab, cmd_prev_tab,
  1231.     cmd_goto_prev_tab): These would go into a (near-)infinite loop
  1232.     when given a negative argument.
  1233.  
  1234.     * unix/misc.c (cmd_user_full_name): `FULL_NAME_TERMINATOR' option.
  1235.  
  1236. Sat Feb 12 01:28:01 1994  John Harper  (jsh@orcrist)
  1237.  
  1238.     * misc.c (cmd_major_version_number, cmd_minor_version_number): New
  1239.     commands.
  1240.  
  1241. Thu Feb 10 03:15:12 1994  John Harper  (jsh@orcrist)
  1242.  
  1243.     * render.c: '#if 0' out `cmd_refresh_window'. This isn't possible
  1244.     anymore -- there's no way of saying that a certain window has been
  1245.     updated re: a buffer while other views of that buffer haven't. This
  1246.     is no big loss, use `refresh-all' instead.
  1247.  
  1248.     * jed.h, x11/windowsys.h, amiga/windowsys.h: Took out most #ifdef's
  1249.     from the VW structure. Now all window-system specific bits of a VW
  1250.     are in a separate structure (`VW_WindowSystem').
  1251.  
  1252. Wed Feb     9 22:46:34 1994  John Harper  (jsh@orcrist)
  1253.  
  1254.     * jed.h, files.c, ../lisp/buffers.jl: Fixed problem of buffer being
  1255.     marked unmodified after an auto-save. -Introduced new field,
  1256.     `tx_ProperSaveChanges', containing the change count at the last
  1257.     time the buffer was written to its file (*not* an auto-save).
  1258.  
  1259.     * io.c (readtx, writetx): No longer assumes that all files end
  1260.     in '\n'. This means that files without a trailing newline don't
  1261.     get given one anyway when they're written to disk.
  1262.  
  1263. Tue Feb     8 03:29:19 1994  John Harper  (jsh@orcrist)
  1264.  
  1265.     * files.c (cmd_buffer_changes, cmd_buffer_modified_p,
  1266.     cmd_set_buffer_modified): New method of dealing with modification
  1267.     counts. `tx_Changes' is *never* reset -- when the buffer is
  1268.     `un-modified' another field `tx_LastSaveChanges' is set to the
  1269.     current value of `tx_Changes'. This is so the new refresh code
  1270.     can rely on the change counter.
  1271.  
  1272.     * render.c, x11/render.c, edit.c, editcommands.c: Rewrote functions
  1273.     which control what gets redrawn and when. This almost works. Much
  1274.     more efficient and loses some embarassing misfeatures.
  1275.  
  1276. Sun Feb     6 01:25:15 1994  John Harper  (jsh@orcrist)
  1277.  
  1278.     * lisp.h, streams.c: New flag in LFile structure, `LFF_DONT_CLOSE',
  1279.     means *never* fclose() the lf_File field.
  1280.     * streams.c (cmd_stdin_file, cmd_stdout_file): Access to stdin/out.
  1281.     * .gdbinit: New file, command to print a lisp object in gdb.
  1282.  
  1283.     * lisp.c (bindlambdalist): uses static symbols to match ampersand-
  1284.     keywords (`&optional', `&rest', `&aux').
  1285.  
  1286.     * amiga/misc.c: merged amiga/io.c into this file.
  1287.     * amiga/misc.c (cmd_user_login_name, cmd_user_real_name,
  1288.     cmd_user_home_directory, cmd_system_name): New commands in line
  1289.     with their unix counterparts, get their values from strategically
  1290.     placed environment variables.
  1291.  
  1292.     * unix/misc.c: merged unix/io.c into this file.
  1293.  
  1294.     * unix/io.c (cmd_user_login_name, cmd_user_real_name,
  1295.     cmd_user_home_directory, cmd_system_name): These now cache their
  1296.     results after the first time they're called.
  1297.     * unix/io.c (cmd_system_name): Now returns the full hostname, with
  1298.     domains and everything.
  1299.  
  1300. Sat Feb     5 21:36:22 1994  John Harper  (jsh@orcrist)
  1301.  
  1302.     * windows.c (cmd_with_window): special-form (similar to `with-buffer').
  1303.     * lispmach.c, ../lisp/compiler.jl: support for above special form, new
  1304.     opcodes `swap-window' and `windowp'.
  1305.  
  1306.     * lispmach.c: Put stack bounds checking inside `#ifdef PARANOID'
  1307.  
  1308.     * unix/processes.c (signalprocess): Signals no longer use characters.
  1309.     (Unless you define `SIGNALS_VIA_CHARS'.)
  1310.  
  1311. Fri Feb     4 23:26:31 1994  John Harper  (jsh@orcrist)
  1312.  
  1313.     * ChangeLog starts here, I've decided to try and keep one of these
  1314.     things.
  1315.